import get from '@dfeidao/atom-web/local/get';
import set from '@dfeidao/atom-web/local/set';
import fire from '@dfeidao/atom-web/msg/fire';
import javadsd from '@dfeidao/atom-web/msg/javadsd';
import error from '@dfeidao/atom-web/msgbox/error';
import success from '@dfeidao/atom-web/msgbox/success';
import s_get from '@dfeidao/atom-web/storage/get';
import Tree from '@dfeidao/fd-w000001';
import { IFeidaoAiBrowserComponent } from '@dfeidao/web/interfaces';

////////////////////////////////////////////////////////////////////////////////
export default async function a001(fd: IFeidaoAiBrowserComponent, args: Event) {
	const productid = await s_get('productid');
	//  保存
	// debugger;
	if (!get(fd, 'client_type')) {
		// console.log('bb', '00');

		const no = get(fd, 'no1');
		const formgroup_no = no;
		if (!formgroup_no) {
			error("请先选择一行数据");
			return;
		}
		const client_type = fd.data.node.querySelector<HTMLSelectElement>('[data-feidao-id="client_style"]').value;

		const widget: Tree = document.querySelector('#widget');

		// 取树形图数据
		const v = fd.data.node.querySelector<Tree>('#widget').get_checked();
		// console.log(v, 33);
		const rea = new Array();
		v.forEach((item) => {
			rea.push(item.id);
		});
		const rey = new Array();
		v.forEach((item) => {
			rey.push(item.p_id);
		});
		widget.check_node(rey);
		const v_1 = fd.data.node.querySelector<Tree>('#widget').get_checked();
		const rea1 = new Array();
		v_1.forEach((item) => {
			rea1.push(item.id);
		});
		const rey_1 = new Array();
		v_1.forEach((item) => {
			rey_1.push(item.p_id);
		});
		widget.check_node(rey_1);
		const v_2 = fd.data.node.querySelector<Tree>('#widget').get_checked();
		const rea2 = new Array();
		v_2.forEach((item) => {
			rea2.push(item.id);
		});
		// console.log(formgroup_no, a, b, 55);
		//  else {
		const dom = args.currentTarget as HTMLInputElement; // 获取DOM
		const stw = dom.getAttribute('data-feidao-switch'); // 获取开关的属性值
		if (stw === 'false') {   // 判断开关状态
			error("正在保存中");
			return;
		}
		dom.setAttribute('data-feidao-switch', 'false');// 在调用保存服务之前改变开关状态为false

		const menu_no = rea2.toString();

		set(fd, 'menu_no', rea2);
		const condition = { param: { client_type, formgroup_no, menu_no, productid } };
		// debugger;

		const data = await javadsd<{ code: number }>('12', '', 'feidao_400dsd0000005', condition);
		// debugger;
		if (data.code === 1) {
			dom.setAttribute('data-feidao-switch', 'true');// 在拿到结果之后改变开关状态为true
			success("保存成功");
			fire('zj-000002', 'ec-002', no);

		} else {
			dom.setAttribute('data-feidao-switch', 'true');// 在拿到结果之后改变开关状态为true
			error("保存失败");

		}
	} else {



		const res = get(fd, 'res') as Array<{}>;
		if (get(fd, 'client_type') && res.length > 0) {
			// console.log('aa', '00');

			const no = get(fd, 'no1');
			const formgroup_no = no;

			if (!formgroup_no) {
				error("保存请先选择一行数据");
				return;
			}
			const client_type = fd.data.node.querySelector<HTMLSelectElement>('[data-feidao-id="client_style"]').value;

			const widget: Tree = document.querySelector('#widget');

			// 取树形图数据
			const v = fd.data.node.querySelector<Tree>('#widget').get_checked();
			// console.log(v, 33);
			const rea = new Array();
			v.forEach((item) => {
				rea.push(item.id);
			});
			const rey = new Array();
			v.forEach((item) => {
				rey.push(item.p_id);
			});

			widget.check_node(rey);
			const v_1 = fd.data.node.querySelector<Tree>('#widget').get_checked();
			const rea1 = new Array();
			v_1.forEach((item) => {
				rea1.push(item.id);
			});
			const rey_1 = new Array();
			v_1.forEach((item) => {
				rey_1.push(item.p_id);
			});
			widget.check_node(rey_1);
			const v_2 = fd.data.node.querySelector<Tree>('#widget').get_checked();
			const rea2 = new Array();
			v_2.forEach((item) => {
				rea2.push(item.id);
			});
			// console.log(formgroup_no, a, b, 55);
			//
			//  else {
			const dom = args.currentTarget as HTMLInputElement; // 获取DOM
			const stw = dom.getAttribute('data-feidao-switch'); // 获取开关的属性值
			if (stw === 'false') {   // 判断开关状态
				error("正在保存中");
				return;
			}
			dom.setAttribute('data-feidao-switch', 'false');// 在调用保存服务之前改变开关状态为false

			const menu_no = rea2.toString();

			set(fd, 'menu_no', rea2);
			const condition = { param: { client_type, formgroup_no, menu_no, productid } };
			// debugger;
			const data: { code: number } = await javadsd('12', '', 'feidao_400dsd0000005', condition);
			if (data.code === 1) {
				dom.setAttribute('data-feidao-switch', 'true');// 在拿到结果之后改变开关状态为true
				fire('zj-000002', 'ec-002', no);
				success("保存成功");

			} else {
				dom.setAttribute('data-feidao-switch', 'true');// 在拿到结果之后改变开关状态为true
				error('保存失败');
			}
		} else {
			error("当前菜单无数据");
		}
	}
}
